Systems for processing transactions, such as those that include a WebLogic application server, generally operate according to ACID properties, namely that a transaction should be Atomic—all of the changes that a transaction makes are either made as one unit or are rolled back; Consistent—a transaction transforms data from a previous valid state to a new valid state; Isolated—changes made to a database by a transaction should not be visible to other operations until the transaction has completed; and Durable—changes made by a transaction should survive system failures.
While processing a transaction, a server acting as a transaction manager maintains a transaction log which stores information about the transactions being coordinated by the server that may not have fully completed. In the event of a system failure, the server, or a backup, can use the transaction log to recover in-flight transactions.
To support failover, the transaction log can be stored in a location available both to the transaction manager and its backup, e.g., on a dual-ported SCSI disk, or as a distributed file system. However, such configurations can be costly and complex to administer. This is generally the area embodiments of the invention are intended to address.